package com.sff.site.events {
	import com.sff.site.events.FlowEvent;
	import com.sff.site.core.INode;
	
	import flash.events.Event;	

	public class NodeEvent extends FlowEvent {
		
		public static const CHANGE : String = "_nodeChange";

		public static const PARAM_CHANGE : String = "_nodeParamChange";

		public static const CHILD_CHANGE : String = "child_nodeChange";

		public static const CHILD_ADDED : String = "_childAdded";

		public static const DEFAULT_CHANGE : String = "_defaultChange";
		
		public function get nodeTarget() : INode {
			return _ntarget;
		}

		public function get nodeCurrentTarget() : INode {
			return currentTarget as INode;
		}

		public function NodeEvent( type : String, target : INode, capureFlow : Boolean = false ) {
			_ntarget = target;
			super( type , false, false, capureFlow );
		}

		override public function clone() : Event {
			var c : NodeEvent = new NodeEvent( _nativeType, _ntarget, _capureFlow );
			return c;
		}

		private var _ntarget : INode;
		
	}
}
